The present invention relates to software support and in particular to a method and system for upgrading software used in remote computer systems from a central computer system.
Presently, a plurality of methods are used by software suppliers to upgrade the existing software that is used by their customers. These methods include floppy disk distribution, tape distribution and modem support. For example, Lotus Development Corporation typically uses floppy disk distribution to supply its users with Lotus 1-2-3 (trademark) software. This method requires Lotus Development Corp. to write the upgraded versions of their software on floppy disks and distribute the disks via an appropriate service to all of its customers.
However, a number of problems exist in this type of software support method in that an upgraded floppy disk version of the software is typically released once a year. Thus, a user must use the existing software even after faults have been recognized, until the new disk version of the software is received, since there is no immediate software support for individual users. Furthermore, since the upgrading process often results in the addition of new program errors, the user must cope with the program faults of the new version until yet another version of the software is released. Moreover, further time delays exist in obtaining upgraded versions of the software, since the floppy disks are typically distributed via the postal service.
A similar manner of software support has been attempted using tape distribution to supply new versions of software to consumers. Although this method reduces the occurrence of damage to the physical medium containing the software, the process is still time consuming, since the tapes must be forwarded to each of the software users.
Modem support has also been attempted as a method of upgrading existing software. In this method, an operator at the software supplier links with the consumer's remote computer system and manually upgrades the software. However, this method of upgrading software is time consuming, expensive and prone to error, since the method involves manual processes. Accordingly, there is a need for an improved method of upgrading software.